import open3d as o3d


def visualize_off_file(file_path):
    # 加载 .off 文件
    mesh = o3d.io.read_triangle_mesh(file_path)
    
    # 将网格转换为点云
    pcd = mesh.sample_points_poisson_disk(number_of_points=1024)
    
    # 设置点云的颜色（例如：将点云设为红色）
    pcd.paint_uniform_color([1.0, 0.0, 0.0])  # RGB值：红色
    
    # 设置点云的点大小
    vis = o3d.visualization.Visualizer()
    vis.create_window()
    vis.add_geometry(pcd)
    opt = vis.get_render_option()
    opt.point_size = 5  # 设置点的大小
    
    # 可视化点云
    vis.run()
    vis.destroy_window()

# 测试可视化一个点云文件
file_path = "C:\\Users\\maohai_pang\\Desktop\\研二(上)\\项目\\github\\datasets\\ModelNet10\\monitor\\train\\monitor_0011.off"
visualize_off_file(file_path)
